<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script src="./lodash.min.js"></script>
    <script>
        // 深拷贝: 将一个对象赋值给另外一个对象
        // 实现方式:
        // a) 使用第三方插件
        // b) 使用JSON.stringfy()实现
        // c) 使用递归函数实现

        // let obj1 = {
        //     name: 'zs',
        //     mama: {
        //         age: 44
        //     }
        // }
        // let obj2 = {};

        // obj2 = _.cloneDeep(obj1);
        // obj2.mama.age = 35;
        // console.log(obj1);


        // 通过 JSON.stringify()将对象转换为对应的字符串格式,将对象原来的值转换后进行拷贝
        let obj1 = {
            name: 'zs',
            laoyaopo: {
                age: 55555
            }
        }

        let obj2 = {};

        obj2 = JSON.parse(JSON.stringify(obj1));
        obj2.laoyaopo.age = 101010101011010;
        console.log(obj1);


        // 特点:
        // 1. 对象拷贝完成后,对象之间的值不会相互影响
        // 2. 深拷贝会依次遍历对象中的每一个值,然后将值进行了拷贝赋值
    </script>
</body>

</html>